package org.handsomezhi.twocoupon.admin.service;


import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import org.handsomezhi.twocoupon.admin.dao.entity.CouponTemplateDO;
import org.handsomezhi.twocoupon.admin.dto.req.CouponTemplateNumberReqDTO;
import org.handsomezhi.twocoupon.admin.dto.req.CouponTemplatePageQueryReqDTO;
import org.handsomezhi.twocoupon.admin.dto.req.CouponTemplateSaveReqDTO;
import org.handsomezhi.twocoupon.admin.dto.resp.CouponTemplatePageQueryRespDTO;
import org.handsomezhi.twocoupon.admin.dto.resp.CouponTemplateQueryRespDTO;

/**
 * 优惠券模板业务逻辑层
 */
public interface CouponTemplateService extends IService<CouponTemplateDO> {

    /**
     * 创建商家优惠券模板
     *
     * @param requestParam 请求参数
     */
    void createCouponTemplate(CouponTemplateSaveReqDTO requestParam);

    IPage<CouponTemplatePageQueryRespDTO> pageQueryCouponTemplate(CouponTemplatePageQueryReqDTO requestParam);

    CouponTemplateQueryRespDTO findCouponTemplateById(String couponTemplateId);

    void increaseNumberCouponTemplate(CouponTemplateNumberReqDTO requestParam);

    void terminateCouponTemplate(String couponTemplateId);
}
